home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
zbpc_460.zip
/
GAMES.EXE
/
KILLER.BAS
next >
Wrap
BASIC Source File
|
1990-06-16
|
4KB
|
133 lines
00010 REM **********************************************
00020 REM * KILLER GAME *
00030 REM * Written by: Scott Terry *
00040 REM * (Note: use cursor pad with Num-Lock ON) *
00050 REM **********************************************
00060 DEFINT A-Z
00070 DIM XMAN(60),YMAN(60),SHIT(60)
00080 LEVEL=5:XSIZE=80:YSIZE=25:SC=0
00090 "START"
00100 GOSUB "SCREEN SETUP"
00110 GOSUB "KILLER SETUP"
00120 "BEGIN MOVING"
00130 GOSUB "MOVE HOME"
00140 DEAD=0
00150 GOSUB "MOVE KILLERS"
00160 IF FL=0 AND DEAD=0 THEN "BEGIN MOVING"
00170 IF FL=1 THEN "NEXT LEVEL" ELSE "YOU LOSE!"
00180 STOP
00190 "HOME AGAIN"
00200 X=X2 : Y=Y2
00210 PRINT@(X,Y) CHR$(2);
00220 "MOVE HOME"
00230 DO : UNTIL INKEY$=""
00240 A$=INKEY$ : IF A$="" THEN 240
00250 PRINT@(X,Y)" "; : X2=X : Y2=Y
00260 ON VAL(A$)+1 GOTO 410,270,280,290,300,350,310,320,330,340,410
00270 X=X-1:Y=Y+1:GOTO 350
00280 Y=Y+1:GOTO 350
00290 X=X+1:Y=Y+1:GOTO 350
00300 X=X-1:GOTO 350
00310 X=X+1:GOTO 350
00320 X=X-1:Y=Y-1:GOTO 350
00330 Y=Y-1:GOTO 350
00340 X=X+1:Y=Y-1
00350 IF X<1 THEN "HOME AGAIN"
00360 IF X>XSIZE-2 THEN "HOME AGAIN"
00370 IF Y=0 THEN "HOME AGAIN"
00380 IF Y>YSIZE-3 THEN "HOME AGAIN"
00390 PRINT@(X,Y)CHR$(2);
00400 RETURN
00410 K=INSTR(1,"QRTLS",A$)
00420 ON K GOTO 440,450,460,640,560
00430 PRINT@(X,Y)CHR$(2); : RETURN "BEGIN MOVING"
00440 END
00450 RUN
00460 "TELEPORT"
00470 X=RND(XSIZE-2):Y=RND(YSIZE-3)
00480 FOR I=1 TO LEVEL
00490 TRON X
00500 IF XMAN(I)=X AND YMAN(I)=Y THEN 470
00510 NEXT
00520 I=1000
00530 PRINT@(X,Y)CHR$(2);
00540 SOUND I,30 : DELAY 200
00550 RETURN
00560 "SONIC"
00570 IF SFLAG=1 THEN 430 ELSE SFLAG=1
00580 MOVE=1 : GOSUB "PLOT KILLERS"
00590 FOR I=1 TO LEVEL
00600 IF SHIT(I)=0 AND ABS(X-XMAN(I))<=1 AND ABS(Y-YMAN(I))<=1 THEN SHIT(I)=2 : SC=SC+20 : PRINT@(56,YSIZE-1)SC;
00610 NEXT
00620 MOVE=0 : GOSUB "PLOT KILLERS"
00630 I=500 : GOTO 530
00640 "LAST STAND"
00650 PRINT@(X,Y)CHR$(2);
00660 GOSUB "MOVE KILLERS"
00670 IF FL=0 AND DEAD=0 THEN 660
00680 IF FL=1 THEN "NEXT LEVEL" ELSE "YOU LOSE!"
00690 "MOVE KILLERS"
00700 MOVE=1 : GOSUB "PLOT KILLERS"
00710 FOR I=1 TO LEVEL
00720 LONG IF SHIT(I)=0
00730 XMAN(I)=XMAN(I)-SGN(XMAN(I)-X)
00740 YMAN(I)=YMAN(I)-SGN(YMAN(I)-Y)
00750 END IF
00760 IF X=XMAN(I) AND Y=YMAN(I) AND SHIT(I)<>2 THEN DEAD = 1
00770 NEXT
00780 MOVE=0 : GOSUB "PLOT KILLERS"
00790 FOR I=LEVEL TO 2 STEP -1
00800 FOR J=1 TO I-1
00810 IF SHIT(I)=2 OR SHIT(J)=2 THEN 890
00820 IF SHIT(I)=1 AND SHIT(J)=1 THEN 890
00830 LONG IF XMAN(I)=XMAN(J) AND YMAN(I)=YMAN(J)
00840 SHIT(I)=1 : SHIT(J)=1
00850 PRINT@(XMAN(I),YMAN(I)) CHR$(15);
00860 SC=SC+10 : PRINT@(56,YSIZE-1) SC;
00870 SOUND 500,20
00880 END IF
00890 NEXT J,I
00900 FL=0
00910 FOR I=1 TO LEVEL
00920 IF SHIT(I)=0 THEN RETURN
00930 NEXT
00940 FL=1 : RETURN
00950 "KILLER SETUP"
00960 FOR I=1 TO LEVEL : XMAN(I)=RND(XSIZE-2) : YMAN(I)=RND(YSIZE-3) : SHIT(I)=0 : NEXT
00970 MOVE=0 : GOSUB "PLOT KILLERS"
00980 GOTO "TELEPORT"
00990 "PLOT KILLERS"
01000 FL=1
01010 FOR I=1 TO LEVEL
01020 IF SHIT(I)<>0 THEN 1060
01030 C$="X" : FL=0
01040 IF MOVE<>0 THEN C$=" "
01050 PRINT@(XMAN(I),YMAN(I))C$;
01060 NEXT
01070 RETURN
01080 "SCREEN SETUP"
01090 SFLAG=0
01100 MODE 11 : CLS : BOX 0,0 TO 1023,720
01110 LOCATE ,,0
01120 PRINT@(0,YSIZE-1)"(T)eleport,(L)ast stand,(S)onic screwdriver Score: ";SC;" Killers: ";LEVEL;
01130 RETURN
01140 "NEXT LEVEL"
01150 FOR I=200 TO 1800 STEP 40 : SOUND I,7 : NEXT
01160 FOR I=1 TO 5 : SOUND 300,30 : SOUND 330,30 : NEXT
01170 LEVEL = LEVEL + 5
01180 GOTO "START"
01190 "YOU LOSE!"
01200 READ I
01210 FOR J=1 TO I
01220 READ F,D : SOUND F,D
01230 NEXT
01240 RUN
01250 DATA 7
01260 DATA 780,300
01270 DATA 760,300
01280 DATA 740,300
01290 DATA 720,300
01300 DATA 700,500
01310 DATA 700,500
01320 DATA 700,500